Namespace MRUItems
    Friend MustInherit Class BaseMRUItem
        Inherits BaseClass

        Private m_szPath As String
        Private m_bPinned As Boolean
        Private m_bSupportsExtendedItems As Boolean = True
        Private m_szItemText As String
        Private m_szName As String

        Public Property SupportsExtendedItems As Boolean
            Get
                Return m_bSupportsExtendedItems
            End Get
            Protected Friend Set(value As Boolean)
                m_bSupportsExtendedItems = value
            End Set
        End Property

        Public Property Path As String
            Get
                Return m_szPath
            End Get
            Protected Friend Set(value As String)
                m_szPath = Environment.ExpandEnvironmentVariables(value)
            End Set
        End Property

        Public Property Pinned As Boolean
            Get
                Return m_bPinned
            End Get
            Protected Friend Set(value As Boolean)
                m_bPinned = value
            End Set
        End Property

        Public Property ItemText As String
            Get
                Return m_szItemText
            End Get
            Protected Friend Set(value As String)
                m_szItemText = value
            End Set
        End Property

        Public Property Name As String
            Get
                Return m_szName
            End Get
            Protected Friend Set(value As String)
                m_szName = value
            End Set
        End Property

        Public MustOverride Function Populate(szName As String, szItemText As String) As Boolean
    End Class
End Namespace